Aujourd'hui, nous allons
en faire un jeu pour les enfants,
et dix exercices pour
les plus grands.
Etape 1 : Pour pouvoir manger son fromage, la souris doit passer par les quatre carrés. Trace son chemin et numérote les carrés traversés : 1, 2, 3, 4. |
|
Etape 2 : Les quatre
grands carrés sont toujours numérotés 1, 2, 3, 4 et
sont maintenant partagés chacun en quatre petits carrés.
Pour pouvoir manger son fromage, la souris doit passer par les seize petits carrés. Mais les quatre premiers petits carrés de son chemin doivent être inclus dans le grand carré N° 1, les quatre suivants dans le grand carré N° 2 et ainsi de suite. Trace le chemin, et numérote les petits carrés de 1 à 16. |
Etape 3 : Disons maintenant
pour les 9 à 99 ans .
Les petits carrés ont été divisés en quatre mini-carrés mais sont toujours numérotés de 1 à 16. La souris doit passer par les quatre mini-carrés du petit carré N°1 puis par les quatre mini-carrés du petit carré N°2 etc. Trace le chemin et numérote les mini-carrés de 1 à 64. |
Etape 4 : Si tu as de 15 à 1515 ans, tu pourras peut-être essayer l’étape suivante avec cette fois 256 micro-carrés. |
Bravo, tu as gagné,
et en plus tu as découvert la courbe de Peano !
Construction de la courbe de Peano binaire
Redevenons sérieux (bien que ce qui précède le soit tout à fait). Le fait qu’un enfant de 7 ans puisse découvrir par lui-même la courbe de Peano n’enlève rien au génie de celui qui, il y a cent ans, a battu en brèche deux tabous mathématiques indiscutés :
1) Une courbe n’a pas d’épaisseur.
2) Il y a plus de points
dans un carré plein que dans un segment de droite.
En effet, la courbe (limite) suivie par la souris passe par tous les points du grand carré de départ, ce qui en fait une courbe ayant une épaisseur. Pourtant cette courbe n’est quand même autre qu’un segment de droite entortillé sur lui-même et l’on conçoit bien qu’entortiller un segment ne lui rajoute pas de points. Comme ce segment passe par tous les points du carré (même plusieurs fois par certains) il y a donc au moins autant de points dans un segment que dans un carré plein ! |
Mais regardons tout ceci plus en détail. Le grand carré de départ est C = [0,1]2 . On définit par récurrence une subdivision de C en carrés égaux de coté (on ne prend pas 1 £k£comme dans le jeu de la souris car cela compliquerait les définitions qui vont suivre) . est donc le carré de départ C, les sont ce que nous avons appelé les grands carrés, les sont les petits carrés, les les mini-carrés et les les micro-carrés, etc.
Les
étant supposés construits, voici comment on construit les
: il s’agit ici de mettre en forme ce que vous avez expérimenté
dans le jeu. Tout d’abord, les quatre carrés de côté
inclus dans
sont , , , .
Mais ils ne sont pas choisis arbitrairement à l’intérieur
de . Leur
disposition (en vue de la continuité de la courbe que l’on cherche)
dépend de la place de et
de celle de par
les règles suivantes :
Il faut évidemment tenir compte des diverses rotations possibles, et on impose à et d’être situés comme suit : |
Ce que l’on peut appeler la courbe de Peano binaire approchée à l’étape n est le chemin joignant les centres successifs de ("binaire" sera expliqué plus loin). Ici le paramétrage varie de 0 à –1. Son amplitude changeant à chaque étape, il serait intéressant de le ramener sur [0,1[ de la façon suivante : si t appartient à [0,1[ , posons (où [t] désigne la partie entière de t).
Par exemple:
et d’une façon générale:
.
Remarquons maintenant que est toujours l’un des quatre carrés inclus dans ; en effet, si k = [t] , le nombre [t] est égal à 4k, 4k +1, 4k +2 ou 4k + 3.
Les ,
pour t fixé, forment donc une suite de carrés (compacts)
emboîtés dont l’aire tend vers 0 ; leur intersection est donc
réduite à un point .
Pour compléter, on pose M(1) = (1,0), et, par définition,
la courbe paramétrée : est
la courbe de Peano binaire, ou courbe de Hilbert.
Une courbe continue remplissant un carré
Ce qui est remarquable, c’est que l’on va pouvoir démontrer maintenant que cette courbe est continue et qu’elle passe par tous les points du carré sans avoir de formule pour calculer x(t) ni y(t).
Pour la continuité, l’idée fondamentale est que les pour n fixé, forment une chaîne de compacts qui se touchent et dont les centres se suivent à une distance (= ) qui tend vers 0 quand n tend vers l’infini. Prenant t et t’ de [0,1] distants de moins de , M(t) et M(t’) sont dans le même ou au pire dans deux consécutifs et . Voilà pour la continuité (uniforme, en prime, mais ça, on le savait d’avance).
Maintenant, il est clair que tout voisinage d’un point M du carré contient l’un des ; or ce est un : il contient donc un point M(t). A cet instant, nous n’avons pas encore démontré que (M(t)) passait par tous les points du carré mais seulement que l’ensemble des M(t) était dense dans ce carré. Mais si l’on sait maintenant que l’image continue d’un compact est un compact, et qu’un compact dense dans un "collègue" est égal à ce collègue, on a fini.
Le fait que l’on ait
en fait pas besoin de trop savoir par où passe la fonction M(t)
pour prouver sa continuité et sa surjectivité mais que, par
contre, la chaîne de compacts soit très importante, est à
la base de la recherche de la caractérisation des images continues
(métrisables) de [0,1]. La réponse a été donnée
dans les années 20 par le théorème de HAHN-MAZURKIEVICZ-SIERPINSKI-MOORE-MENGER
(est-ce un record ?) : ce sont les espaces compacts, connexes et localement
connexes, ce qui en fait un sacré paquet, non seulement dans ,
mais aussi dans les espaces de dimension infinie (voir [6]).
Mais revenons sur terre, et posons nous une question que certains se sont peut-être posée. Pourquoi faire si compliqué, alors que pour remplir un carré — les enfants le savent dès qu’ils peuvent tenir un crayon — il suffit de faire ceci (figure 7) ?
Plus précisément, pouvez-vous définir une suite de courbes paramétrées correspondant à cette idée ? Vous pourrez alors montrer que le hic est qu'elle ne converge pas, même point par point. (exercice 1)
Une courbe à similitude interne.
Le génie de Peano a été de penser à prendre des courbes successives dont chacune est définie à partir de la précédente de façon à ne pas s’en éloigner trop. Ce faisant, il a aussi défini le premier objet fractal à similtude interne du plan (Cantor avait déjà défini son ensemble, inclus dans R, peu auparavant).
Regardons ceci de façon plus précise : le chemin de l’étape 1 étant
celui de l’étape 2 est
Autrement dit, à l’étape 2, on procède dans chacun des quatre carrés exactement comme on avait procédé dans le carré de départ (en effectuant une rotation pour le premier et quatrième carré).
La courbe de Peano
limite est donc formée de quatre courbes semblables, la première
joignant M(0) = (0,0) à M(1/4) = (0,1/2), la deuxième
joignant M(1/4) à M(1/2) = (1/2,1/2), la troisième
M(1/2)
à M(3/4) = (1,1/2) et la quatrième M(3/4) à
M(1)
= (1,0) .
Ces quatre similitudes
vont nous fournir des formules permettant de calculer .
Tout d’abord, est
issu de M(t) par la similitude indirecte s, de centre
O,
d’axe la droite y = x, et de rapport 1/2, d’où :
et de même............
On peut ainsi construire
par récurrence les points
pour
k = 0,1, … ,, connaissant
M(0) = (0; 0) et M(1) = (1; 0).
|
On obtient d’ailleurs ainsi une nouvelle suite de courbes paramétrées qui converge vers la courbe de Peano binaire, mais moins belles que les courbes définies plus haut. En fait, ces courbes moins belles donnent peut-être une meilleure idée de la courbe de Peano idéale que les précédentes, d’une part parce que, contrairement aux autres, elles passent par des points de la courbe idéale, et, d’autre part, parce que la courbe idéale possède elle aussi des points doubles : à l’étape 2, nous venons de voir que M(7/16) = M(9/16). Nous pouvons du reste remarquer que le centre du carré est un point au moins triple. Soient en effet tels que ;
alors .
Mais, à propos,
pouvez-trouver les valeurs de
? (exercice2)
Et puis, aurait-il été possible que la courbe de Peano n’ait pas de point multiple? S’il en eut été ainsi, nous aurions eu une bijection continue de [0, 1] sur [0, 1]2. Or l’image de tout fermé de [0, 1] (qui est un compact) est un compact de [0, 1]2, donc fermé, ce qui signifie que nous serions en présence d’un homéomorphisme de [0, 1] sur [0, 1]2 et ça, il ne faut quand même pas exagérer, ce n’est pas possible (vous retirez le centre du carré, c’est encore connexe ; mais si vous retirez le centre de [0, 1], ça ne l’est plus).
Bon, le centre du carré est un point triple, mais d’après les similitudes internes, tous les centres des carrés sont aussi des points triples, ce qui fait un sous-ensemble dense de points triples.
D’ailleurs il est impossible qu’entre (0 ££ 1) il n’y ait que des points simples car l’image de contient des carrés pleins.
(Pouvez-vous démontrer
ce fait ? - exercice 3).
D’une façon
générale, si on définit une courbe de Peano comme
une surjection continue de [0,1] sur un espace métrisable non homéomorphe
à [0,1], toute courbe de Peano a forcément une infinité
de points multiples ; et si de plus l’image de
par cette surjection n’est jamais homéomorphe à [0,1], les
points multiples sont denses dans l’image.
Pour en finir avec les points multiples, que pensez-vous de cette affirmation de Hilbert dans un article dont nous allons parler ultérieurement :
"les points multiples
de la courbe sont soit doubles, soit quadruples"? (exercice 4).
Des formules explicites.
Exploitons encore un peu les formules que nous avons trouvées sur . Si vous les regardez bien, vous remarquerez que dans les arguments, il y a des divisions par quatre, et dans les images, des divisions par deux : eh bien, écrivons les arguments en base quatre et les images en base deux :
si
Nous obtenons les formules :
Avec ceci, calculons par exemple M(1/3) ; comme, en base 4, 1/3=0,1111… , on écrit successivement :
x(0) = 0
x(0,1) = 0,0000 …
x(0,11) = 0,0000 …etc,
donc x(1/3) = 0
puis
y(0) = 0
y(0,1) = 0,1
y(0,11) = 0,11 etc,
donc y(1/3) = 1/2 + 1/4 + … + 1/2n + … = 1.
M(1/3) est le sommet en haut à gauche du carré ! (ah bon? vous n’aviez pas fait l’exercice 2 ?!).
Peut-être pourrez-vous essayer de calculer vous-même M(1/5) voire M(1/7) ; les règles permettant de définir la fonction que nous allons énoncer vous apparaîtront alors certainement de façon claire :
Posons toujours
Vous pourrez admirer comment une remarque purement géométrique a d’abord donné des formules algébriques, puis une définition arithmétique.
Avec ces règles on montre facilement que par exemple M(1/5) = (1/5; 2/5).
Maintenant, se pose un petit problème : on a défini la courbe de Peano par des formules ; peut-on démontrer la surjectivité sur le carré uniquement à l’aide de ces formules ? Ce n’est pas difficile et ce sera l’exercice 5. Trouvez par exemple t tel que M(t)=(1/3,1/3).
Et la continuité ? Donnons une condition générale de continuité pour ce genre d’applications. Supposons que , ces développement pouvant être écrits dans n’importe quelle base. Alors, s’il existe une suite d’entiers strictement croissante telle que ne dépendent que de , et si la définition de la fonction peut être appliquée aux développements propres aussi bien qu'au développements impropres, (par exemple en base 4,), en donnant bien sûr le même résultat, alors f est continue. Dans le cas qui nous intéresse, la première condition est vérifiée pour , et la deuxième également (exercice 6) : vérifions par exemple que M(0,0333...) = M(0,1) : en effet M(0,333...)=(0,000... ; 0,0111...) et M(0,1)=(0 ; 0,1) ce qui est bien le même résultat.
C’est du reste cette
idée que Giuseppe Peano a lui-même exploitée.
La courbe ternaire.
En effet, il commence son article [2] en remarquant que l’application f qui vient naturellement à l'esprit, définie, en système décimal ou autre, par :
est surjective de [0,1] sur [0,1]2, mais que malheureusement elle n’est pas continue.
En effet, si on se place en système décimal, dit-il, f(0,0999 …) donne à la limite (0,0999 … ; 0,999 …) = (0,1 ; 1), tandis que f(0,1) = (0,1 ; 0), ce qui est différent. Pour essayer de remédier à cette discontinuité, il regarde comment est fabriquée géométriquement cette application : cela revient à découper le carré en 100 carrés égaux et à effectuer un balayage vertical toujours de bas en haut puis à faire ainsi pour chacun des carrés etc...
Pour que f soit continue, il faut que le balayage le soit aussi, et des remarques du domaine de la peinture en bâtiment nous ferons effectuer des balayages de bas en haut puis de haut en bas, puis de bas en haut, etc.
Peano a dû vite s’apercevoir que dans le cas d’une base paire, il est nécessaire d’effectuer aussi des balayages horizontaux ; nous venons de le voir dans le cas de la base 2 ; voici par exemple le cas de la base 4 à l'étape 2 :
on pose toujours, toutes les écritures étant en base 3 :
et l’on a :
Le fait que Peano ait
plutôt étudié ce cas fait que l’on appelle généralement
courbe de Peano cette dernière. Mais il avait au départ pensé
à la courbe binaire, dont il publie un dessin dans son article.
L'idée a été reprise en 1891par David Hilbert qui
publie un article sur la courbe binaire, c’est pourquoi celle-ci est généralement
appelée courbe de Hilbert.
Et si l’on faisait le jeu de la souris dans le cas ternaire ? Cette fois, l’entrée est en bas à gauche et la sortie en haut à droite, et il y a deux chemins possibles :
à vous de remplir la 2ème étape :
Les personnes que j’ai testées ont toutes donné des réponses différentes et aucune n’a donné la véritable courbe de Peano.
A propos, pouvez-vous dire combien il existe de chemins possibles à la nième étape ? (exercice 7)
Après avoir énoncé les formules ci-dessus, Peano démontre la continuité et la surjectivité de sa courbe en utilisant une méthode semblable à celle que nous avons utilisée dans le cas binaire. (A vous : exercice 8).
Puis il conclut son article en disant qu’il est possible, dans la foulée, de remplir un cube. Là encore il se place en base 3 et donne les formules :
Là encore il se place en base 3 et donne les formules
:
Pouvez-vous déterminer à quel chemin dans le cube ces formules correspondent ? (exercice 9)
Inversement, il est clair qu’il existe un chemin continu si l’on coupe le cube seulement en 8 cubes (numérotés de 1 à 8) :
ainsi que:
La courbe de Lebesgue.
Une autre idée pour remédier à la discontinuité du balayage dans l’application dont nous avons parlé plus haut est de supprimer ses points de discontinuité en effectuant des "ponts" à l’aide de fonctions affines.
A l’étape 3
du cas binaire, cela donnerait le chemin :
C’est Henri Lebesgue qui a, en 1905, développé cette idée (voir [4]). Il considère dans un premier temps les t de [0 ; 1] ayant un développement en base 3 ne s’écrivant qu’avec des 0 ou des 2 ;
et pour un tel en base 3, il pose, en base 2 avec :
L’ensemble de ces t,
qui n’est autre que l’ensemble K3
de Cantor, est obtenu en supprimant dans [0 ; 1] tous les réels
strictement compris entre 1/3 = 0,1 et 2/3 = 0,2 puis tous ceux entre 0,
01 et 0, 02, et ceux entre 0, 21 et 0, 22 etc…(ces nombres écrits
en base 3 bien sûr). [0 ; 1] \ K3
est donc une réunion d’intervalles ouverts disjoints et Lebesgue,
après avoir remarqué que sa fonction est continue sur K3,
la prolonge par continuité sur [0 ; 1] par des fonctions affines
sur chacun de ces intervalles. Et cette construction a aussi l’avantage
de se généraliser facilement à [0 ; 1]n
(voir [8]).
Un peu d'info.
Passons maintenant au côté informatique de la chose. Nous allons essayer de tracer les courbes de Peano approchées. Or nous avons vu qu’il y en avait de deux types : soit on prend les chemins qui joignent les centres successifs de la chaîne de carrés qui recouvre le carré de départ (jolies car elles n’ont pas de point double et forment un labyrinthe), soit on prend des courbes qui joignent des points réels de la courbe limite, de plus en plus rapprochés (moins belles à cause des points multiples).
C’est le deuxième type qui est le plus facile à tracer. Pour la courbe binaire (courbe de Hilbert), il s’agit de prendre le motif de quatre segments :
et de remplacer les quatre segments par un motif semblable joignant leurs deux extrémités, mais attention : le premier et le dernier motif doivent être mis de l’autre côté
— si vous ne le faites pas, vous allez tomber sur la courbe du crabe qui est totalement différente.
l:=1/2n;a:=0;
procédure hilbert2(n,k)
si n=0 alors avancer(l,a) c’est-à dire avancer d’une longueur l en faisant un angle a avec l’horizontale
sinon a:=a+kp/2
hilbert2(n-1,-k)
a:=a-kp/2
hilbert2(n-1,k)
hibert2(n-1,k)
a:=a-kp/2
hilbert2(n-1,-k)
a:=a+kp/2
Pour obtenir le tracé de la nième courbe, il suffit de demander hilbert2(n,1).
Si vous voulez éviter les points doubles, vous pouvez arrondir les angles ; un tel programme (non récursif) est donné dans [6] sous le nom de fractales généralisées arrondies.
Pour la courbe de Peano ternaire, c’est encore plus simple. Le motif de base est :
et l’on remplace simplement
chacun des neuf segments par le motif, etc...
Une procédure
du type de la précédente est alors
l:=1/3n;a:=p/4
procédure peano(n)
si n=0 alors avancer(l,a)
sinon peano(n-1)
a:=a+p/2
peano(n-1)
a:=a-p/2
peano(n-1)
a:=a-p/2
peano(n-1)
a:=a+p/2
peano(n-1)
a:=a+p/2
peano(n-1)
a:=a-p/2
peano(n-1)
Ici il devient indispensable de faire des arrondis, sinon on ne voit qu’un quadrillage :
Or les arrondis ne sont qu’une suite de segments qui joignent les milieux successifs de chaque segment. Si pour l’arrondi, on ne prend qu’un seul segment, on obtient la courbe qui joint les milieux de la courbe précédente, et cette courbe n’est autre que la courbe du premier type dont nous avons parlé plus haut :
Ceci ne vaut malheureusement
pas pour la courbe de Hilbert du premier type, mais voici une procédure
récursive qui permet de l’obtenir.
l:=1/2n;a:=p/2
procédure hilbert1(n,k)
si n=0 alors a:=a+p
sinon a:=a-kp/2
hilbert1(n-1,-k)
a:=a-kp/2
avancer(l,a)
hilbert1(n-1,k)
a:=a+kp/2
avancer(l,a)
a:=a+kp/2
hilbert1(n-1,k)
avancer(l,a)
a:=a-kp/2
hilbert1(n-1,k)
a:=a-kp/2
Une troisième façon d’appréhender ces courbes de Peano est de tracer le labyrinthe formé par la suite des carrés. Ce qui donne pour la courbe binaire :
Cet exercice
d’informatique sera le numéro 10.
bibliographie :
[1] le premier article de G. Peano dans mathematische Annalen, volume 38, page 157 (1890), intitulé : "Sur une courbe qui remplit toute une aire plane."
[2] une introduction à cet article dans le formulario mathematico de Peano, tome 5, page 239 (1908), en latin !
[3] l’article de D. Hilbert dans mathematische Annalen, volume 38, page 459 (1891), intitulé : "stetige Abbildung einer Linie auf ein Flächenstück."
[4] Leçons sur l’intégration de H. Lebesgue, page 44 (1904) : construction d’une courbe de Peano à partir de l’ensemble de Cantor.
[5] The fractal geometry of nature de Benoît Mandelbrot (Freeman-1983).
[6] Compléments d’analyse, volume 1 (topologie première partie), de F. Guénard et G. Lelievre, cahiers de Fontenay (1985).
[7] Nouveaux dessins géométriques et artistiques avec votre micro-ordinateur de J.P. Delahaye, aux éditions Eyrolles (1985).
[8] Analyse, cours de J.M. Arnaudiès et H. Fraysse (p. 601), aux éditions Dunod (1988).